import { createApp, h } from 'vue'
import App from './App.vue'
import router from './router/index.js'
import ElementPlus from 'element-plus'
import "element-plus/dist/index.css"
const app=createApp(App);

//插件用来扩展 Vue的核心功能的时候一般写成插件.. vue-router vuex 他们是插件.
//插件 其实是一个对象 对象里面有一个install方法.在install方法的第一个参数就是app实例，
//可以在app实例对象上面添加全局组件 和 全局属性
const myplugin={//插件开发..
    install(globalVue){//安装插件 当你是用 app.use()安装插件的时候会自动自行 install方法
        // console.log("安装 myplugin===>",globalVue);
        globalVue.component("my-com",{//注册了全局组件
            render(){
                return h('h1',"myplugin添加的my-com组件")
            }
        });
        // globalVue.helloplugin="全局属性.myplugin."
        //在组件内部 this.$helloplugin调用该属性, 所以在vue2或vue3有人会把axios挂载全局
        globalVue.config.globalProperties.$helloplugin="全局属性.myplugin"
        //在组件内部直接通过 this.$axios this.$http this.$request
        // globalVue.config.globalProperties.$axios=$axios.create();
    }
}
app.use(myplugin);

//安装router插件
app.use(router);
//安装ElementPlus插件 全局注册
app.use(ElementPlus);
app.mount('#app')
